package demo05.FactoryPattern.Factory;

import demo05.FactoryPattern.FactoryImp.PizzaIngredientFactory;
import demo05.FactoryPattern.pizzaForm.FrozenClams;
import demo05.FactoryPattern.pizzaForm.Garlic;
import demo05.FactoryPattern.pizzaForm.MarinaraSauce;
import demo05.FactoryPattern.pizzaForm.Mushroom;
import demo05.FactoryPattern.pizzaForm.Onion;
import demo05.FactoryPattern.pizzaForm.RedPepper;
import demo05.FactoryPattern.pizzaForm.ReggianoCheese;
import demo05.FactoryPattern.pizzaForm.SlicedPepperoni;
import demo05.FactoryPattern.pizzaForm.ThinCrustDough;
import demo05.FactoryPattern.pizzaFormImp.Cheese;
import demo05.FactoryPattern.pizzaFormImp.Clams;
import demo05.FactoryPattern.pizzaFormImp.Dough;
import demo05.FactoryPattern.pizzaFormImp.Pepperoni;
import demo05.FactoryPattern.pizzaFormImp.Sauce;
import demo05.FactoryPattern.pizzaFormImp.Veggies;

/**
 * 子类工厂
 * */
public class NYPizzaIngredientFactory implements PizzaIngredientFactory{

	public Dough createDough() {
		return new ThinCrustDough();
	}
 
	public Sauce createSauce() {
		return new MarinaraSauce();
	}
 
	public Cheese createCheese() {
		return new ReggianoCheese();
	}
 
	public Veggies[] createVeggies() {
		Veggies veggies[] = { new Garlic(), new Onion(), new Mushroom(), new RedPepper() };
		return veggies;
	}
 
	public Pepperoni createPepperoni() {
		return new SlicedPepperoni();
	}

	@Override
	public Clams createClam() {
	
		return new FrozenClams();
	}

	
}
